package com.zzl.finance.data.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zzl.apidoc.annotation.ApidocModel;
import com.zzl.apidoc.annotation.ApidocModelProperty;
import com.zzl.general.common.utils.DoubleSerialize;
import com.zzl.general.common.utils.DoubleToPercentSerialize;
import lombok.Data;

import java.util.Date;

/**
 * 金融产品计算融资结果对象
 *
 * @author szsw
 * @date 2021/12/23 10:52:37
 */
@ApidocModel
@Data
public class FinancialProductCalculateTicketDto {

    @ApidocModelProperty(name = "预计放款金额")
    @JsonSerialize(using = DoubleSerialize.class)
    private Double estimatedLoanAmount;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApidocModelProperty(description = "预计放款日期", validate = "yyyy-MM-dd")
    private Date estimatedLoanDate;
    @ApidocModelProperty(name = "融资金额")
    @JsonSerialize(using = DoubleSerialize.class)
    private Double financingAmount;
    @ApidocModelProperty(name = "融资成本")
    @JsonSerialize(using = DoubleSerialize.class)
    private Double financingCost;
    @ApidocModelProperty(name = "融资利息")
    @JsonSerialize(using = DoubleSerialize.class)
    private Double financingInterest;
    @ApidocModelProperty(name = "融资利率")
    @JsonSerialize(using = DoubleToPercentSerialize.class)
    private Double financingInterestRate;
    @ApidocModelProperty(description = "年化利率")
    @JsonSerialize(using = DoubleSerialize.class)
    private Double annualizedInterestRate;
    @ApidocModelProperty(name = "平台服务费")
    @JsonSerialize(using = DoubleSerialize.class)
    private Double platformServiceFee;
    @ApidocModelProperty(name = "平台服务费利率")
    @JsonSerialize(using = DoubleToPercentSerialize.class)
    private Double platformServiceFeeRate;
    @ApidocModelProperty(name = "备用字段")
    private String alternateField;

}
